perm filename ALDISP.SRC[PNT,HE] blob
sn#528542 filedate 1980-08-05 generic text, type T, neo UTF8
1) ALDISP.PAL[PNT,HE] and 2) PNTDIS.PAL[PNT,HE] 8-05-80 01:54 pages 1,1
**** File 1) ALDISP.PAL[PNT,HE]/1P/5L
1) C00005 00003 initialization routine UPDINIT
1) C00009 00004 routine to print out joint value PRTW
1) C00014 00005 routine to read joint angles every 50 msec DOWHER
1) C00016 00006 LOCAL STORAGE AREA
1) C00019 ENDMK
1) C⊗;
**** File 2) PNTDIS.PAL[PNT,HE]/1P/5L
2) C00005 00003 initialization routine PNTINIT
2) C00007 00004 routine to print out joint value PRTW
2) C00011 00005 routine to read joint angles every 20 msec DOWHER
2) C00013 00006 LOCAL STORAGE AREA
2) C00016 ENDMK
2) C⊗;
***************
**** File 1) ALDISP.PAL[PNT,HE]/2P/4L
1) NNCYCLES==50.
1) DATA
**** File 2) PNTDIS.PAL[PNT,HE]/2P/6L
2) DATA
***************
**** File 1) ALDISP.PAL[PNT,HE]/2P/51L
1) TAB==11
1) CR==15
**** File 2) PNTDIS.PAL[PNT,HE]/2P/51L
2) CR==15
***************
**** File 1) ALDISP.PAL[PNT,HE]/3P/1L
1) ; initialization routine UPDINIT
1) ;
1) ; This routine initializes the updating by clearing the
1) ;VT05 screen, and typing the header information and the titles
**** File 2) PNTDIS.PAL[PNT,HE]/3P/1L
2) ; initialization routine PNTINIT
2) ;
2) ; This routine initializes the state of display by clearing the
2) ;VT05 screen, and typing the header information and the titles
***************
**** File 1) ALDISP.PAL[PNT,HE]/3P/9L
1) UPDINIT: PUSH <R0,R1,R2,R3,R4,R5>
1) ALDISP.PAL[PNT,HE] and 2) PNTDIS.PAL[PNT,HE] 8-05-80 01:54 pages 3,3
1) EVWAIT CSLEVT
**** File 2) PNTDIS.PAL[PNT,HE]/3P/9L
2) PNTINIT: PUSH <R0,R1,R2,R3,R4,R5>
2) EVWAIT CSLEVT
***************
**** File 1) ALDISP.PAL[PNT,HE]/3P/19L
1) POP <R5,R4,R3,R2,R1,R0>
1) RTS PC
1) DSPINIT:PUSH R2 ; we will need this later
1) MOV #NNCYCLES,NCYCLES ; set ncycles=whatever it is
1) EVWAIT CSLEVT ;GRAB CONSOLE
1) MOV #HEADER,R0 ;start it off
1) TACKST PNTIT ;tack on the header
1) TACKST CRLFEOL ;carriage return and clear rest of line
1) CMP VT05DSP,#1 ;blue only?
1) BEQ 1$
1) MOV #YELDSP,R2 ;YARM
1) BR 11$
1) 1$: MOV #BLUDSP,R2 ;BARM
1) 11$: MOV (R2)+,R1 ;BARM, YARM, ETC
1) JSR PC,TACK ; append to the end of string
1) TACKST JTTIT ;JT1,JT2,JT3
1) TACKST CRLFEOL ; CRLF, ETC
1) TACKST HSTIT ; UPPER LIMIT
1) TACKST CRLFEOL
1) TACKST LSTIT ; LOWER LIMIT
1) TACKST CRLFEOL
1) MOV (R2)+,R1 ; PARK POSITION
1) JSR PC,TACK
1) TACKST CRLFEOL
1) TACKST CRLFEOL ; BLANK LINE
1) MOV (R2)+,R1 ; BLUE JOINTS/YELLOW JOINTS
1) JSR PC,TACK ; append
1) TACKST CRLFEOL ; another CRLF
1) TACKST ADTIT ; A/D title
1) TACKST CRLFEOL
1) TACKST EUTIT
1) TACKST CRLFEOL
1) TACKST ALTIT
1) MOV #HEADER,R0 ;print it out
1) JSR PC,PTYPSTR
1) EVSIG CSLEVT
1) POP R2
1) MOV ALHOMP,CURYXAL ;initialize position for AL display
**** File 2) PNTDIS.PAL[PNT,HE]/3P/19L
2) POP <R0,R1,R2,R3,R4,R5>
1) ALDISP.PAL[PNT,HE] and 2) PNTDIS.PAL[PNT,HE] 8-05-80 01:54 pages 3,3
2) RTS PC
2) DSPINIT:EVWAIT CSLEVT ;GRAB CONSOLE
2) MOV #HEADER,R0 ;TYPE OUT POINTY HEADER
2) JSR PC,PTYPSTR
2) EVSIG CSLEVT ;RELEASE CONSOLE
2) MOV ALHOMP,CURYXAL ;initialize position for AL display
***************
**** File 1) ALDISP.PAL[PNT,HE]/3P/63L
1) DATA
1) VT05DSP:.WORD 1 ;1=blue arm,2=yellow arm,3=both
1) BLUDSP: .WORD BRMTIT,BPRKTIT,BJTIT
1) YELDSP: .WORD YRMTIT,YPRKTIT,YJTIT
1) CODE
1) ; routine to print out joint value PRTW
**** File 2) PNTDIS.PAL[PNT,HE]/4P/1L
2) ; routine to print out joint value PRTW
***************
**** File 1) ALDISP.PAL[PNT,HE]/4P/5L
1) NCYCLES:50. ; number of cycles before redrawing the words
1) CODE
1) PRTW: TST ALLIVE ;TEST IF AL IS DONE
1) BNE 1$
1) DISMIS ;go away, AL is done
1) 1$: TST DSPOK ;Test if want the display
**** File 2) PNTDIS.PAL[PNT,HE]/4P/7L
2) CODE
2) PRTW: TST ALDONE ;TEST IF AL IS DONE
2) BEQ 1$
2) DISMIS
2) 1$: TST DSPOK ;Test if want the display
***************
**** File 1) ALDISP.PAL[PNT,HE]/4P/18L
1) 3$: DEC NCYCLES ;decrement
1) BGT 4$
1) MOV #50.,NCYCLES
1) EVWAIT CSLEVT
1) MOV #HEADER,R0
1) JSR PC,PTYPSTR
1) EVSIG CSLEVT
1) 4$: MOV #IOBUF,R0 ;START BUILDING OUTPUT STRING IN HERE
1) MOV LTHPTR,R2 ;GET POINTERS JOINT READINGS
1) CMP VT05DSP,#2
1) ALDISP.PAL[PNT,HE] and 2) PNTDIS.PAL[PNT,HE] 8-05-80 01:54 pages 4,4
1) BEQ 5$ ; is yellow arm
1) ADD #BTABOFF,R2 ;TO GET VALUES FOR BLUE ARM
1) 5$: MOV #7,R3 ;7 JOINTS IN ALL
1) JTCLP: LDF @(R2)+,AC0 ;GET JOINT ANGLE
**** File 2) PNTDIS.PAL[PNT,HE]/4P/20L
2) 3$: MOV #IOBUF,R0 ;START BUILDING OUTPUT STRING IN HERE
2) MOV LTHPTR,R2 ;GET POINTERS JOINT READINGS
2) ADD #BTABOFF,R2 ;TO GET VALUES FOR BLUE ARM
2) MOV #7,R3 ;7 JOINTS IN ALL
2) JTCLP: LDF @(R2)+,AC0 ;GET JOINT ANGLE
***************
**** File 1) ALDISP.PAL[PNT,HE]/4P/46L
1) CMP VT05DSP,#2 ; is it yellow or blue?
1) BEQ 1$ ; it is yellow
1) ADD #BTABOFF,R2 ;TO GET FOR BLUE ARM
1) 1$: MOV #7,R3 ;CONVERT THE ACTUAL POT READINGS
1) NEXTP: LDCIF @(R2),AC0 ;GET A/D READING
**** File 2) PNTDIS.PAL[PNT,HE]/4P/39L
2) ADD #BTABOFF,R2 ;TO GET FOR BLUE ARM
2) MOV #7,R3 ;CONVERT THE ACTUAL POT READINGS
2) NEXTP: LDCIF @(R2),AC0 ;GET A/D READING
***************
**** File 1) ALDISP.PAL[PNT,HE]/4P/66L
1) MOV #TRNADR,R0 ;GET CURRENT TRANSFORM IN HERE
**** File 2) PNTDIS.PAL[PNT,HE]/4P/57L
2) .IFNZ TTTTRANS
2) MOV #TRNADR,R0 ;GET CURRENT TRANSFORM IN HERE
***************
**** File 1) ALDISP.PAL[PNT,HE]/4P/86L
1) SLEEP #150. ;SLEEP 150 MSEC TO GIVE AL INTERPRETER A CHANCE
1) JMP PRTW
1) ; routine to read joint angles every 50 msec DOWHER
1) DATA
**** File 2) PNTDIS.PAL[PNT,HE]/4P/78L
2) .ENDC
2) SLEEP #100 ;GO SLEEP 100 MSEC TO GIVE AL INTERPRETER A CHANCE
2) JMP PRTW
2) ; routine to read joint angles every 20 msec DOWHER
2) DATA
***************
1) ALDISP.PAL[PNT,HE] and 2) PNTDIS.PAL[PNT,HE] 8-05-80 01:54 pages 5,5
**** File 1) ALDISP.PAL[PNT,HE]/5P/10L
1) MOV #YARMSB+YHANDSB,WLST ;DO A WHERE FOR THE YELLOW ARM
1) MOV #WLST,R0
1) MOV #DEVICE,R1
1) JSR PC,@LWHERE ;READ THE JOINT POSITIONS
1) TST ALLIVE ;TEST IF AL PROGRAM FINISHED
1) BNE 1$
1) DISMIS
1) 1$: SLEEP #50. ; GO TO SLEEP FOR 50 MSECS
1) BR DOWHER
**** File 2) PNTDIS.PAL[PNT,HE]/5P/10L
2) ; following code commented out because it gets messed up when the
2) ; arm is moving
2) ; TST R0 ;CHECK IF ANY ERRORS
2) ; BEQ $1 ;BRANCH IF OK
2) ; EVWAIT CSLEVT
2) ; OUTSTR BADW ;ELSE TYPE ERROR MESSAGE
2) ; JSR PC,TYPOCT ;PRINT OUT ERROR VALUE
2) ; EVSIG CSLEVT
2) TST ALDONE ;TEST IF AL PROGRAM FINISHED
2) BEQ 1$
2) DISMIS
2) 1$: SLEEP #20 ; GO TO SLEEP FOR 20 MSECS
2) BR DOWHER
***************
**** File 1) ALDISP.PAL[PNT,HE]/6P/5L
1) HEADER: .BLKW 400. ;HEADER STRING BUFFER
1) EANGLE: .BLKW 12. ;EULER ANGLES STORED HERE
**** File 2) PNTDIS.PAL[PNT,HE]/6P/5L
2) EANGLE: .BLKW 12. ;EULER ANGLES STORED HERE
***************
**** File 1) ALDISP.PAL[PNT,HE]/6P/13L
1) PNTIT: .BYTE HOME,CFILL,CFILL,CFILL,EOL
1) .ASCIZ / P O I N T Y R U N T I M E S Y S T E M/
1) JTTIT: .ASCIZ \ JT 1/X JT 2/Y JT 3/Z JT 4/O JT 5/A JT 6/T HAND\
1) HSTIT: .ASCIZ /HIGH STOPS/
1) LSTIT: .ASCIZ /LOW STOPS/
1) BPRKTIT:.ASCIZ /PARK POSITION 180.0 -90.0 14.00 -90.0 90.0 0.0/
1) YPRKTIT:.ASCIZ /PARK POSITION 180.0 -90.0 14.00 -90.0 90.0 0.0/
1) CRPTIT: .ASCIZ /CURRENT POS/
1) ADTIT: .ASCIZ /A-D READINGS/
1) EUTIT: .ASCIZ /EULER ANGLES/
1) ALTIT: .ASCIZ / A L R U N T I M E S Y S T E M/
1) BRMTIT: .ASCIZ /BLUE ARM/
1) ALDISP.PAL[PNT,HE] and 2) PNTDIS.PAL[PNT,HE] 8-05-80 01:54 pages 6,6
1) YRMTIT: .ASCIZ /YELLOW ARM/
1) BJTIT: .ASCIZ /BLUE JOINTS/
1) YJTIT: .ASCIZ /YELLOW JOINTS/
1) CRLFEOL:.BYTE CR,LF,EOL,0
1) .EVEN
**** File 2) PNTDIS.PAL[PNT,HE]/6P/12L
2) HEADER: .BYTE HOME,CFILL,CFILL,CFILL,EOL
2) .ASCII / P O I N T Y R U N T I M E S Y S T E M/
2) .BYTE CR,LF,EOL
2) .ASCII / JT 1 JT 2 JT 3 JT 4 JT 5 JT 6 HAND/
2) .BYTE CR,LF,EOL
2) .ASCII /LOW STOPS -45.0 -165.0 6.75 -395.0 -95.0 -110.0 -0.20/
2) .BYTE CR,LF,EOL
2) .ASCII /HIGH STOPS 190.0 -50.0 33.00 205.0 95.0 200.0 3.80/
2) .BYTE CR,LF,EOL
2) .ASCII /PARK POSITION 180.0 -90.0 14.00 -90.0 90.0 0.0/
2) .BYTE CR,LF,EOL
2) .ASCII /BLUE ARM/
2) .BYTE CR,LF,EOL
2) .ASCII /CURRENT POS/
2) .BYTE CR,LF,EOL
2) .ASCII /A-D READINGS/
2) .IFNZ TTTTRANS
2) .BYTE CR,LF,EOL
2) .ASCII /EULER ANGLES X Y Z O A T/
2) .ENDC
2) .BYTE CR,LF,EOL
2) .BYTE CR,LF,EOL
2) .ASCII / A L R U N T I M E S Y S T E M/
2) .BYTE EOL,CR,LF,0
2) .EVEN
***************